/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package programa.GUi;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author oscar
 */
public class baseLibros extends Acceso{
     /* Realiza una consulta a la base de datos, retorna un Object[][] con los
    * datos de la tabla persona
 */
    public Object[][] Select_Persona()
    {
     int registros = 0;      
  
 
     String consulta = "SELECT id,codigo,Titulo,Autor,Editorial,Cantidad,Ubicacion FROM Libros ";
      String consulta2 = "Select count(*) as total from Libros ";
      //obtenemos la cantidad de registros existentes en la tabla
      try{
         PreparedStatement pstm = con.prepareStatement( consulta2 );
         ResultSet res = pstm.executeQuery();
         res.next();
         registros = res.getInt("total");
         res.close();
      }catch(SQLException e){
         System.out.println(e);
      }
    //se crea una matriz con tantas filas y columnas que necesite
    Object[][] data = new String[registros][7];
    //realizamos la consulta sql y llenamos los datos en la matriz "Object"
      try{
         PreparedStatement pstm = con.prepareStatement(consulta);
         ResultSet res = pstm.executeQuery();
         int i = 0;
         while(res.next()){            
            data[i][0] = res.getString( "id" );
            data[i][1] = res.getString( "Codigo" );
            data[i][2] = res.getString( "Titulo" );
            data[i][3] = res.getString( "Autor" );
            data[i][4] = res.getString( "Editorial" );
            data[i][5] = res.getString( "Cantidad" );
            data[i][6] = res.getString( "Ubicacion" );
            i++;
         }
         res.close();
          }catch(SQLException e){
               System.out.println(e);
        }
    return data;
    }
    
    /* Ejecuta la actualizacion de la tabla persona dado los valores de actualizacion
    * y el ID del registro a afectar
    */
    public boolean update(String valores, String id)
    {
        boolean res = false;        
        String q = " UPDATE Libros SET " + valores + " WHERE id= " + id;
        try {
            PreparedStatement pstm = con.prepareStatement(q);
            pstm.execute();
            pstm.close();
            res=true;
         }catch(SQLException e){            
            System.out.println(e);
        }
        return res;
    }
   
    
       //elimina un registro de la base de datos
    public void eliminar(String dato){       
        String q ="delete from Libros where Codigo ='"+ dato +"'";
       
        try {
            PreparedStatement pstm = con.prepareStatement(q);
            pstm.execute();
            pstm.close();
         }catch(SQLException e){            
            System.out.println(e);
        }
       
    }
    
    
    
    
    public Connection getConnection() {
        return this.con;
    }
}
